package com.hsy.sunflowerbao.home.action

import com.hsy.sunflowerbao.base.data.CommonResult
import com.hsy.sunflowerbao.base.data.ListBean
import com.hsy.sunflowerbao.base.data.TagData
import com.hsy.sunflowerbao.base.http.BaseResponse
import com.hsy.sunflowerbao.home.data.HomeData
import com.hsy.sunflowerbao.home.data.UserResult
import io.reactivex.Observable
import retrofit2.http.*

/**
 * 首页网路请求
 * Created on 2018/3/26.
 *
 * @author Yang
 */
interface HomeService {
    /**
     * 获取首页数据
     * @param params 参数
     */
    @GET("AppHome/home.html")
    fun getHomeData(@QueryMap params: Map<String, String>): Observable<BaseResponse<ListBean<HomeData>>>

    /**
     * 根据二维码获取用户信息
     * @param params 参数
     */
    @GET("AppHome/scanUser.html")
    fun scanUser(@QueryMap params: Map<String, String>): Observable<BaseResponse<UserResult>>

    /**
     * 根据手机号获取用户信息
     * @param params 参数
     */
    @GET("AppHome/searchUser.html")
    fun searchUser(@QueryMap params: Map<String, String>): Observable<BaseResponse<UserResult>>

    /**
     * 消券
     * @param params 参数
     */
    @FormUrlEncoded
    @POST("AppHome/checkQuan.html")
    fun checkCoupon(@FieldMap params: Map<String, String>): Observable<BaseResponse<CommonResult>>

    /**
     * 获取全部标签
     * @param params 参数
     */
    @GET("AppHome/getTags.html")
    fun getTags(@QueryMap params: Map<String, String>): Observable<BaseResponse<List<TagData>>>

    /**
     * 赠送积分
     * @param params 参数
     */
    @FormUrlEncoded
    @POST("AppHome/sendScore.html")
    fun sendScore(@FieldMap params: Map<String, String>): Observable<BaseResponse<CommonResult>>
}